home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2 (Special) / PCPro-2b.iso / Demos / Macromedia / CourseBuilder / CourseBuilderInstaller.exe / Disk1 / data1.cab / Dreamweaver-unInstalled / Configuration / Commands / CourseBuilder Template Fix.js < prev    next >
Encoding:
JavaScript  |  1999-12-06  |  3.0 KB  |  102 lines

  1. // Copyright 1999 Macromedia, Inc. All rights reserved
  2.  
  3. //---------------     GLOBAL VARS    -----------------
  4.  
  5. var NEWLINE = ((navigator.platform != "Win32")? "\x0D" : "\x0D\x0A");
  6.  
  7. //---------------     API FUNCTIONS    ---------------
  8.  
  9. function commandButtons() {
  10.   var addCmd    =  "window.close(); addCBTemplateFix();";
  11.   var retArr = new Array(
  12.                   BTN_Add,  addCmd,
  13.                   BTN_Cancel,  "window.close()"
  14.                 );
  15.   return retArr;
  16. }
  17.  
  18. function canAcceptCommand() {
  19.   var retVal = false;
  20.   if (dw.getFocus() == 'document') 
  21.     if (isTemplate() || isDependent())
  22.       retVal = true;
  23.   return retVal;
  24. }
  25. //---------------    LOCAL FUNCTIONS   ---------------
  26.  
  27. function initializeUI() {
  28.   var theDom = dw.getDocumentDOM('document');
  29.   if (theDom == null) return;
  30.   if (isTemplate()) {
  31.     findObject('dependentMsg').visibility = "hidden";
  32.     findObject('templateMsg').visibility = "visible";   
  33.   } else if (isDependent()) {
  34.     findObject('dependentMsg').visibility = "visible";
  35.     findObject('templateMsg').visibility = "hidden";
  36.   }  
  37. }
  38.  
  39. function cbScriptToInsert() {
  40.   var rtnStr = '<!-- #BeginEditable "CourseBuilder" -->' + NEWLINE + '<script language="JavaScript">' + NEWLINE + '<!--' + NEWLINE + 'function MM_initInteractions(){}' + NEWLINE + '//-->' + NEWLINE + '</scri' + 'pt>' + NEWLINE + '<!-- #EndEditable -->';
  41.   return rtnStr;
  42. }
  43.  
  44. function addCBTemplateFix() {
  45.   if (addCBScriptIncludes())
  46.     if (addCBOnLoadCall())
  47.       saveAndUpdate();
  48. }
  49.  
  50. function addCBScriptIncludes() {
  51.   var theDom = getTemplateDom();
  52.   var theUrl = getTemplateURL();
  53.   var retVal = false;
  54.   var head;
  55.   if (theDom) { 
  56.     var script = new ScriptDOM(theUrl);
  57.     var head = script.getHeadObject(); 
  58.     if (head && head.innerHTML.indexOf('<!-- #BeginEditable "CourseBuilder" -->') == -1) {
  59.       head.innerHTML += NEWLINE + cbScriptToInsert() + NEWLINE;
  60.     } 
  61.     if (head.innerHTML.indexOf('<!-- #BeginEditable "CourseBuilder" -->') == -1) {  
  62.       alert(MSG_unableToInsertInHead);
  63.       retVal = false;
  64.     } else retVal = true; 
  65.   } else
  66.     alert(MSG_templateNotFound);  
  67.   return retVal;
  68. }  
  69.  
  70. function addCBOnLoadCall() {
  71.   var theDom = getTemplateDom();
  72.   var theUrl = getTemplateURL();
  73.   var retVal = false;
  74.   if (theDom) {
  75.     var theBody = theDom.body;
  76.     var script = new ScriptDOM(theUrl);
  77.     script.setHandler(theBody, 'onLoad', 'MM_initInteractions()');
  78.     if (script.getHandler(theBody, 'onLoad', 'MM_initInteractions'))
  79.       retVal = true;
  80.   }  
  81.   return retVal;  
  82. }
  83.  
  84. function saveAndUpdate() {
  85.   var theDom = getTemplateDom();
  86.   var theUrl = getTemplateURL();
  87.   var saved = false;
  88.   if (theDom) {
  89.     if (isDependent()) {
  90.       saved = dreamweaver.saveDocument(theDom, theUrl); 
  91.       dreamweaver.releaseDocument(theDom);
  92.       if (saved) {
  93.         theDom = dw.getDocumentDOM();
  94.         theDom.updateCurrentPage("template"); 
  95.       } else {
  96.         alert(MSG_unableToSaveTemplate); 
  97.       }  
  98.     } 
  99.   }  
  100. }   
  101.  
  102.